iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
AI & Data

親手打造推薦系統系列 第 8

Day 08 - 協作過濾(Collaborative Filtering)是什麼?UserCF和ItemCF有什麼差別?

  • 分享至 

  • xImage
  •  

如果有常去逛電商網站,就可能有看過網站推薦你:「購買了這本書的人還買了什麼?」或者,「誰的粉絲也看了什麼影片?」。這樣的推薦方式是什麼樣的推薦方式呢?

前幾天的內容,基於內容相似的推薦的演算法,都沒有考慮到人和電影的互動,也就是說,人的行為沒有被拿來當作參考。

把人和物品的互動當作是推薦的參考資料。這種推薦方式就會被稱為:協作過濾推薦(Collaborative filtering recommendation)。你可以理解人的行為當成是內容,然後找相似度高的做推薦。

好了,這個演算法一句話就講完了,是不是很簡單,可以下課了~~~~~~

如果你還沒有急著下課,那我還可以再多說一點點,這種做法可以分為兩類,而且每一類都會有一張表,而特徵向量就從這邊來。

第一類:基於使用者的協作過濾(UserCF)

這一類的基本思路是:假設物以類聚,朋友間喜歡和討厭的東西會一樣。

例如系統發現 Alice 和 Bob 他們喜歡的東西和討厭的東西很像。如果系統知道 Bob 喜歡神隱少女,那同樣的就會推薦神隱少女給 Alice 。

這樣問題就又來了,什麼叫做 Alice 和 Bob 很像?

第二類:基於物品的協作過濾(ItemCF)

第一類是以人為主,這一類的話,就是以物品為主。

舉個例子:如果神隱少女這個部電影,喜歡他跟討厭他的人群分布跟「龍貓」是一樣,那當人們關注「神隱少女」時,就推薦「龍貓」給他,是不是也很合理?

這樣問題就又來了。什麼叫做喜歡他和討厭他的人群分布很像?

UserCF 和 ItemCF 的「相似度」問題,都透過評分表產生特徵向量來解決

要找相似度,就要先找到要推薦的東西或使用者的特徵向量,。

所以在利用 UserCF 或 ItemCF 時,都會用到一張評分表,用來表達每個人對每部電影的喜好程度,這剛好就可以拿來當特徵向量。

基於使用者的協作過濾(UserCF),把人對每部電影的評分,當成是這個人的特徵向量,這樣就找出誰和誰像了!

基於物品的協作過濾(ItemCF),剛好相反,把每個人對這部電影的喜歡和討厭程度,當成是這電影的特徵向量,這樣就找出哪些電影相似了!

這思路是不是簡單又直覺?只要將前幾天基於內容的推薦的那幾招學會,這邊一定一下就了解了。

這下就知道為什麼我當初會在特徵向量,講了2天的原因。

下一步呢?

今天我們提到協作過濾,就是把人跟商品的行為互動。當作是推薦的參考。其中又分為兩種:一種是使用者協作過濾,一種是物品的協作過濾。其實他就是他們參考的對象,剛好相反而已,不管哪一種,他們都會需要一張評分表,那張評分表上的東西。就可以產生。特徵向量。

接著,我們就來看看這種做法的優缺點,以及真的要實作的話,方法是什麼?


上一篇
Day 07 - 推薦得到底對不對?從關鍵字下去看看 - 親手打造推薦系統
下一篇
Day 09 - 就算媽祖沒有顯靈,我們也不能放棄希望。如何用 Collaborative Filtering 預測電影評分做推薦? - 親手打造推薦系統
系列文
親手打造推薦系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言